
package estruturas.dados;

import java.util.Collection;
import java.util.LinkedList;

/**
 *
 * @author Leonardo
 */
public class Fila {

    private static LinkedList<String> fila;

    public static void main(String[] args) {
        fila = new LinkedList<String>();

        /**
         * Na fila o item e adicionado ao topo
         * maior numero é maior, mais alta prioridade
         * menor numero é menor, mais baixa prioridade
         */

        String item = "Super Mario Kart";
        //String item = "Jogos Mortais IV";
        //String item = "Tetris Revolution";
        int novaPrioridade = 1;

        fila.push("Jogos Mortais IV");
        fila.push("Super Mario Kart");
        fila.push("Tetris Revolution");
        fila.push("Teste");

        listar("Antes");

        //fila.pop();
        mudarPrioridadeDeItem(item, novaPrioridade);

        listar("Depois");

    }

    public static boolean mudarPrioridadeDeItem(String item, int novaPrioridade) {
        boolean resultado = false;

        int index = fila.indexOf(item);

        String novo = fila.get(index);

        //System.out.println();
        //System.out.println(index + " " + novo);

        //if (novaPrioridade > 0)
        //    novaPrioridade--;

        String oldvalue = fila.set(novaPrioridade, item);

        //System.out.println(oldvalue);

        fila.set(index, oldvalue);

        return false;
    }

    public static void listar(String texto) {
        System.out.println();
        System.out.println(texto + " " + fila.size() );
        for (String item : fila) {
            System.out.println(fila.indexOf(item) + " " + item);
        }
    }
    
}
